reStructuredText和Markdown详细实用对比

您所在的位置:网站首页 markdown 表格缩进 reStructuredText和Markdown详细实用对比

reStructuredText和Markdown详细实用对比

2024-06-13 15:07| 来源: 网络整理| 查看: 265

以下内容,reStructuredText简称RST,Markdown简称md

目录

RST: 目录可以用.. toctree:: 直接生成;(需要使用标题格式,以便于索引) MD: 目录可以用[toc],直接生成;(需要使用标题格式,以便于索引)

标题

RST:

一级标题 ======== 二级标题 --------- 三级标题 ~~~~~~~~~~ 四级标题 ^^^^^^^^^^^ 五级标题 ++++++++++ 六级标题 '''''''''''

MD:

# 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 ###### 段落 空行分段

RST和MD相同:

第一段内容。 第二段和第一段间有一空行。

第一段内容。

第二段和第一段间有一空行。

自动续行

RST和MD相同(但MD的扩展gfm是回车换行):

一个回车不分段, 本行续上行。

一个回车不分段, 本行续上行。

不留白续行

RST:行尾转义字符让\续行之间不留白。 MD:无。

插入换行

RST:

方法一: | 保持换行符, | 本行不续行。 保持换行符, 本行不续行。 方法二:: .. role:: raw-html(raw) :format: html 用新定义的role插入换行, :raw-html:`` 本行不再续行。

MD:

行尾两空格 保持换行。 段落缩进

RST和MD相同(其中第二种方法是MD扩展实现):

写法一:

邮件体段落缩进: > 第一级段落缩进。 > > > 第二级段落缩进。 > > 返回一级段落缩进。

显示效果:

邮件体段落缩进:

第一级段落缩进。

第二级段落缩进。

返回一级段落缩进。

写法二:

Python式段落缩进: 第一级段落缩进。 第二级段落缩进。 返回一级段落缩进。

显示效果:

Python式段落缩进:

第一级段落缩进。

第二级段落缩进。

返回一级段落缩进。

代码块 代码块(基础)

RST:双冒号后缩进为代码块。

:: def foo(): print "Love Python, Love FreeDome" print "E文标点,.0123456789,中文标点,. "

MD:四格缩进为代码块。

def foo(): print "Love Python, Love FreeDome" print "E文标点,.0123456789,中文标点,. "

显示效果:

def foo(): print "Love Python, Love FreeDome" print "E文标点,.0123456789,中文标点,. " 代码块(增强)

还可声明语言类型实现语法加亮。

RST:以.. code-block:: 开头来标记,后面跟语言类型。

.. code-block:: ruby require 'redcarpet' md = Redcarpet.new("Hello, world.") puts md.to_html

MD:以```符号标记,后面跟语言类型。

```ruby require 'redcarpet' md = Redcarpet.new("Hello, world.") puts md.to_html ```

显示效果:

require 'redcarpet' md = Redcarpet.new("Hello, world.") puts md.to_html 列表 无序列表

RST和MD相同,写法如下:

* 星号、减号、加号开始列表。 - 列表层级和缩进有关。 + 和具体符号无关。 * 返回一级列表。

显示效果:

星号、减号、加号开始列表。

列表层级和缩进有关。

和具体符号无关。

返回一级列表。

有序列表

RST写法:

1. 数字和点是一种编号方式。 A. 大写字母编号。 a. 小写字母编号。 2. 继续一级列表。 (I) 大写罗马编号。 i) 小写罗马编号。

RST显示效果:

数字和点是一种编号方式。

A. 大写字母编号。

a. 小写字母编号。

继续一级列表。

I. 大写罗马编号。

i. 小写罗马编号。

MD写法:

1. 数字和点开始有序列表。 1. 注意子列表的缩进位置。 1. 三级列表。 1. 编号会自动更正。 1. 二级列表,编号自动更正为2。 1. 返回一级列表。

MD显示效果:

数字和点开始有序列表。

注意子列表的缩进位置。

三级列表。 编号会自动更正。

二级列表,编号自动更正为2。

返回一级列表。

列表续行、段落和代码块

RST写法:

1. 列表项可以折行, 对齐则自动续行。 2. 列表项可包含多个段落。 空行开始的新段落, 新段落要和列表项内容对齐。 3. 列表下的代码段注意对齐即可。 :: $ printf "Hello, world.\n"

RST显示效果:

列表项可以折行, 对齐则自动续行。

列表项可包含多个段落。

空行开始的新段落, 新段落要和列表项内容对齐。

列表下的代码段注意对齐即可。

$ printf "Hello, world.\n"

MD写法:

1. 列表项可以折行, 对齐则自动续行。 2. 列表项可包含多个段落。 空行开始的新段落必须缩进四个空格, 段落才属于列表项。 3. 列表中的代码块要缩进8个空格。 $ printf "Hello, world.\n"

MD显示效果:

列表项可以折行, 对齐则自动续行。

列表项可包含多个段落。

空行开始的新段落必须缩进四个空格, 段落才属于列表项。

列表中的代码块要缩进8个空格。

$ printf "Hello, world.\n" 定义

RST写法:

git Simple and beautiful. hg Another DVCS. subversion VCS with many constrains. Why not Git?

MD:无

分隔线

RST写法和显示效果:

四条短线或以上显示为分隔线。 ----

MD写法和显示效果:

三条或更多短线(或星号、下划线)\显示为分隔线。 --- *** ___ 字体 粗体和斜体

RST写法和显示效果:

这是 **粗体** ,这是 *斜体* 。 不留白的\ **粗体**\ 和\ *斜体*\ 效果。

这是粗体,这是斜体。 不留白的粗体和斜体效果。

MD写法和显示效果:

这些都是 **粗体** 或 __粗体__ , 这些都是 *斜体* 或 _斜体_ 。

这些都是 粗体 或 粗体 , 这些都是 斜体 或 斜体 。

删除线

RST写法和显示效果:

.. role:: strike :class: strike :strike:`删除线` 效果 不留白的\ :strike:`删除线`\ 效果

删除线效果 不留白的删除线效果

MD写法和显示效果:

~~删除线~~ 效果

删除线 效果

下划线

RST写法和效果:

.. role:: ul :class: underline :ul:`下划线` 效果 不留白的\ :ul:`下划线`\ 效果

下划线效果 不留白的下划线效果

MD的写法和效果:

下划线 效果

下划线 效果

上标、下标

RST写法和效果:

Water: H\ :sub:`2`\ O E = mc\ :sup:`2`

Water: H2O E = mc2

MD写法和效果:

Water: H2O E = mc2 注解:通过直接嵌入HTML代码实现。

Water: H2O E = mc2 注解:通过直接嵌入HTML代码实现。

等宽字体

RST写法和效果:

两个连续反引号嵌入代码,如: ``git status`` 。

两个连续反引号嵌入代码,如: git status。

MD写法和效果:

行内反引号嵌入代码,如: `git status` 。

行内反引号嵌入代码,如: git status 。

引言

RST写法: 反引号嵌入代码,如: Got GitHub by Jiang Xin.

MD:无

清除标记空白(无)

RST写法和效果:

标记符号前后空白\ 用\ **反斜线**\ 消除

标记符号前后空白用反斜线消除

MD:无

链接 URL自动链接

RST和MD相同:

网址 http://github.com/ 邮件 [email protected]

网址 http://github.com/ 邮件 [email protected]

文字链接

RST写法:

- 访问 `Google `_ 。 - 上面已定义,直接引用 google_ 链接。 - 链接地址在后面定义,如: GitHub_ 。 - 反引号括起多个单词的链接。如 `my blog`_ 。 .. _GitHub: http://github.com .. _my blog: http://www.worldhello.net

MD写法:

- 访问 [Google](http://google.com/)。 - 上面已定义,直接引用[google](#Google) 链接。 - 链接地址在后面定义,如: [GitHub][1] 。 - 反引号括起多个单词的链接。如 [my blog][] 。 [1]: http://github.com [my blog]: http://www.worldhello.ne

显示效果:

访问 Google。 上面已定义,直接引用google 链接。 链接地址在后面定义,如: GitHub 。 反引号括起多个单词的链接。如 my blog 。 内部跳转

RST写法:

.. _fig1: .. figure:: https://longzeping.github.io/img/apple-touch-icon.png 内部跳转图例 上面定义的位置,可以: - 通过 fig1_ 跳转。 - 或者 `点击这里 `__ 跳转。 - 或者参见 :ref:`fig1`\ 。

MD写法:

![](https://longzeping.github.io/img/apple-touch-icon.png) 内部跳转图例 上面定义的位置,可以: - 通过 [fig1](#fig1) 跳转。 - 或者 [点击这里](#fig1) 跳转。 - 或者参见 [内部跳转图例](#fig1) 。

显示效果:

内部跳转图例

上面定义的位置,可以:

通过 fig1 跳转。 或者 点击这里 跳转。 或者参见 内部跳转图例 。 脚注(扩展实现)

RST写法:

reST脚注的多种表示法: - 脚注即可以手动分配数字 [1]_ ,也可以使用井号自动分配 [#]_ 。 - 自动分配脚注 [#label]_ 也可以用,添加标签形式 [#label]_ 多次引用。 - 还支持用星号嵌入符号式脚注,如这个 [*]_ 和 这个 [*]_ 。 - 使用单词做标识亦可 [CIT2012]_ 。 .. [1] 数字编号脚注。 .. [#] 井号自动编号。 .. [#label] 井号添加标签以便多次引用。 .. [*] 星号自动用符号做脚注标记。 .. [*] 星号自动用符号做脚注标记。 .. [CIT2012] 单词或其他规定格式。

MD写法:

reST脚注的多种表示法: [^1]: 数字编号脚注。 [^#]: 井号自动编号。 [^#label]: 井号添加标签以便多次引用。 [^*]: 星号自动用符号做脚注标记。 [^†]: 星号自动用符号做脚注标记。 [^CIT2012]: [CIT2012] 单词或其他规定格式。 - 脚注即可以手动分配数字[^1] ,也可以使用井号自动分配 [^#] 。 - 自动分配脚注 [^#label], 也可以用添加标签形式 [^#label] 多次引用。 - 还支持用星号嵌入符号式脚注,如这个 [^*] 和 这个 [^*] 。 - 使用单词做标识亦可 [^CIT2012] 。 (*备注:markdown不支持符号式脚注和单词式脚注,并且脚注数字符号的式样与RST也有差别。*)

显示效果:

reST脚注的多种表示法:

脚注即可以手动分配数字1 ,也可以使用井号自动分配 [^#] 。

自动分配脚注 [^#label], 也可以用添加标签形式 [^#label] 多次引用。

还支持用星号嵌入符号式脚注,如这个 [^] 和 这个 [^] 。

使用单词做标识亦可 2 。

(备注:markdown不支持符号式脚注和单词式脚注,并且脚注数字符号的式样与RST也有差别。用MD并不能完全描述出RST的脚注)

图片

RST写法:

.. figure:: https://longzeping.github.io/img/apple-touch-icon.png :width: 32 图:GitHub logo GitHub Logo: |logo| 带链接的图片: |imglink|_ 下图向右浮动: .. image:: https://longzeping.github.io/img/apple-touch-icon.png :align: right .. |logo| image:: https://longzeping.github.io/img/apple-touch-icon.png .. |imglink| image:: https://longzeping.github.io/img/apple-touch-icon.png .. _imglink: https://github.com/

MD写法:

![](https://longzeping.github.io/img/apple-touch-icon.png) 图:GitHub logo GitHub Logo:![logo] 带链接的图片: [![][logo]](https://github.com/) 下图向右浮动: ![](https://longzeping.github.io/img/apple-touch-icon.png) [logo]: https://longzeping.github.io/img/apple-touch-icon.png "Logo"

显示效果:

图:GitHub logo

GitHub Logo:logo

带链接的图片:

下图向右浮动:

(备注:用MD并不能完全描述出RST的图片功能)

表格

RST写法:

.. table:: 示例表格 :class: classic +---------+--------+--------+ | head1 | head2 | head3 | +=========+========+========+ | | cell | cell | | rowspan +--------+--------+ | | * colspan | | | * another line | +---------+-----------------+

MD写法:

备注说明:Markdown本身无法实现RST给出的这种带行列合并的复杂表格,但可以借助html代码实现。下面的表格不是Markdown标准语法实现,借助html语法实现。

head1head2head3 rowspancellcell *colspan *another lien

显示效果:

head1head2head3 rowspancellcell *colspan *another lien

gfm扩展实现的写法和显示效果:

下面是gfm扩展实现的Markdown简单表格: |head1|head2 |head3| |:---:|:---: |---: | |rowspan|cell|cell | |rowspan|cell|cell | |rowspan|cell|cell |

下面是gfm扩展实现的Markdown简单表格: |head1|head2 |head3| |:—:|:—: |—: | |rowspan|cell|cell | |rowspan|cell|cell | |rowspan|cell|cell |

其它 转义

RST和MD一样:

反斜线作为转义字符,\禁止对后面 \*字符* 做语法解析。

反斜线作为转义字符,\禁止对后面 *字符* 做语法解析。

注释

RST写法:

.. 注释 .. 缩进内容也是注释

MD写法:

[//]:注释 [//]: 缩进内容也是注释

备注说明:标准markdown中没有注释,属于扩展实现。[]里面内容自定义,[^_^]、[comment]、[//]等等,都可以用。

其它说明

reStructedText的功能要多于Markdown,特别是表格、标注、脚注、链接、图片。

同时,reStructedText也比Markdown复杂,写无复杂格式的文章,Markdown比reStructureText更方便。

数字编号脚注。 ↩

[CIT2012] 单词或其他规定格式。 ↩

Previous 网站必备:favcon.ico介绍与制作 Next 实用reStructuredText实践指南


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3